// ESLint配置文件 - 代码质量检查工具配置
// 导入ESLint相关模块
import js from '@eslint/js' // ESLint的JavaScript配置
import globals from 'globals' // 全局变量定义
import reactHooks from 'eslint-plugin-react-hooks' // React Hooks的ESLint规则
import reactRefresh from 'eslint-plugin-react-refresh' // React Refresh的ESLint规则
import tseslint from 'typescript-eslint' // TypeScript的ESLint支持
import { globalIgnores } from 'eslint/config' // 全局忽略配置

// 导出ESLint配置
export default tseslint.config([
  // 忽略dist目录（构建输出目录）
  globalIgnores(['dist']),
  {
    // 匹配所有TypeScript和TSX文件
    files: ['**/*.{ts,tsx}'],
    // 扩展的配置规则
    extends: [
      js.configs.recommended, // 推荐的JavaScript规则
      tseslint.configs.recommended, // 推荐的TypeScript规则
      reactHooks.configs['recommended-latest'], // 最新的React Hooks规则
      reactRefresh.configs.vite, // Vite环境的React Refresh规则
    ],
    // 语言选项配置
    languageOptions: {
      ecmaVersion: 2020, // 使用ECMAScript 2020语法
      globals: globals.browser, // 浏览器环境全局变量
    },
  },
])
